想要短時間快速上手opencv,真是艱難的任務,
不過經過近二十年的努力,opencv的應用寫出來的程式,
出乎意料的短,沒看過的話,以為應該是要幾千行程式,或是不知如何下手。
現在是程式並不長,但不知如何調校。調出最佳的參數,最佳的閥值,實驗式的作法,
是今晚的想法。
舉網友寫的一個色球的偵測為例,
這是一個C++的範例。稍微講解一下,如何用CMAKE來編譯。
一樣是在 opencv 的專案目錄下,opencv/samples/cpp/examplecmake,
看目錄名就很清楚。
以色球的偵測為例,它僅有一個源碼,Ball_detect.cpp,
這時,你可以新增一個目錄(取名叫Ball_detect),放進這個cpp檔,把剛才目錄下的CMakeLists.txt複製過來,
開啟它,相對應的修改,
# Define project name
project(Ball_Detect_project)
# Declare the executable target built from your sources
add_executable(Ball_Detect Ball_detect.cpp)
# Link your application with OpenCV libraries
target_link_libraries(Ball_Detect ${OpenCV_LIBS})
存檔。
在專案目錄(Ball_detect)下,新增 一個(build)目錄,
cd build
cmake ..
make
./Ball_Detect
這部分,幾乎是cmake 的標準動作。這是自己的小專案,如果是別人的大專案,就加上sudo make install,
就會裝在LINUX下,常見的執行程式目錄,然後,cmake 就可以找到動態函式庫來編譯,像opencv.
這個程式執行的效果如下,
這個印度帥哥,一口氣開了好幾個WINDOW,
// Create a window in which the captured images will be presented
cvNamedWindow( "Camera", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "HSV", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "F1", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "F2", CV_WINDOW_AUTOSIZE );
cvNamedWindow( "F3", CV_WINDOW_AUTOSIZE );
兩個不能調整,一個是視訊窗,另一個是HSV窗,其他3個可調整。F1/F2/F3,
不知道是筆者拿白色壘球的關係,還是沒有印度小弟帥,反正搞了半天,就是沒法追蹤到手上的壘球。
這整個題目,和筆者原來構想有差異,整個專案,希望不久的將來都能將程式實作完整。
主要是OPEN DATA的數據交換平台,再來是簡易的數據收集器,是笨笨的手動一筆一筆抄寫,
或是聰明一點的由電腦視覺CV來收集。然後…,有了夠多的數據,就能來情蒐分析,找出隱藏的勝利密碼,
對著敵人的弱點攻擊,把體育的終極目標完成。例如高中女壘的最強隊埔里高工,長期稱霸高女甲組,讓其他隊
很想攻克,或是東山高女排球,HVL連三年亞軍,而這三年冠軍從沒重覆,淚灑決賽場三年。在體能技術差異不大
的情況下,能情蒐對手戰情,深刻分析,顯然指引出一條可行的路,以上,謝謝大家。
2016年過,剛過的RIO奧運前後,引爆了國內菁英選手的抗爭,
之後餘波盪漾,今年男排創新了歷史,而羽球女單世界一,也是前無古人,
終於迎來了國民體育法的修正。
國家總有很多事在進行,這件事感覺也不是很重要,就像運動員的社會地位,即使日本讀賣巨人隊在台再辦一次陽岱鋼的簽約儀式,炒熱一下新聞,也沒什麼整體效應。
但陽桑應該也是在日職一軍有史以來待最久的野手,不可思議。
國民體育法修正案,和國人身體健康,和運動經濟環境,到底會有多大關係? 還在觀察中…,一般國民,還是多運動
維持身體健康以應付不確定的未來,至少挺過這波寒流。